﻿/*
 * 在这个项目中，您可以了解到：
 * 如何设置一个无限循环
 * 如何使用 break 语句跳出迭代（循环）
 */

using System;

namespace Bd无限出题系统
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
             * new 译为 新建，创建。 Random 即随机。
             * 我们稍候会用这个 randomGenerator 生成随机数。
             */
            Random randomGenerator = new Random();
            /*
             * 尝试 new 一个 int 将产生 0 ，我们很少这样使用。
             */
            int score = new int();
            /*
             * for 语句是迭代语句，我们后面再具体了解。
             * 
             * for 语句的小括号内用分号分割，可以填入三个内容，
             * 此时我们一个都不填，它将成为一个无限循环。
             * 
             * 除非在其中有语句跳出，它永远不会结束。
             */
            for(; ; )
            {
                /*
                 * 随机生成一个 0（含） 到 10（不含） 之间的整形数字。
                 */
                var value1 = randomGenerator.Next(0, 10);
                var value2 = randomGenerator.Next(0, 10);

                Console.Write($"{value1} + {value2} = ");
                string input = Console.ReadLine();

                /*
                 * 我们这次换一个方式，转换成数字进行判断，而不是判断字符串。
                 */
                var inputValue = int.Parse(input);
                if (inputValue == value1 + value2)
                    score++;
                else
                {
                    if (inputValue < value1 + value2)
                        Console.WriteLine("哪有那么小鸭……太可惜了。");
                    else // inputValue > value1 + value2
                        Console.WriteLine("哪有那么大鸭……太可惜了。");

                    /*
                     * break 译为“打破”。
                     * break 语句将跳出它所在的循环，在这里就会打破这个无限循环。
                     */
                    break;
                }
            }
            Console.WriteLine($"得分：{score}");
        }
    }
}
